package model

import "time"

// LogisticsCompany 物流公司模型
type LogisticsCompany struct {
	ID        uint      `json:"id" gorm:"primarykey"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
	Code      string    `json:"code" gorm:"type:varchar(50);uniqueIndex;not null"` // 物流公司编码
	Name      string    `json:"name" gorm:"type:varchar(100);not null"`            // 物流公司名称
	Contact   string    `json:"contact" gorm:"type:varchar(50);not null"`          // 联系人
	Phone     string    `json:"phone" gorm:"type:varchar(20);not null"`            // 联系电话
	Email     string    `json:"email" gorm:"type:varchar(100)"`                    // 电子邮箱
	Address   string    `json:"address" gorm:"type:varchar(200)"`                  // 地址
	Status    int       `json:"status" gorm:"type:tinyint;not null;default:1"`     // 状态：1-启用 2-禁用
	Website   string    `json:"website" gorm:"type:varchar(100)"`                  // 公司网站
	APIKey    string    `json:"api_key" gorm:"type:varchar(100)"`                  // API接入密钥
	TrackURL  string    `json:"track_url" gorm:"type:varchar(200)"`                // 物流追踪网址
	Coverage  string    `json:"coverage" gorm:"type:varchar(200)"`                 // 服务覆盖区域
	Level     int       `json:"level" gorm:"type:tinyint;not null;default:1"`      // 服务等级：1-普通 2-优质 3-特快
	Remark    string    `json:"remark" gorm:"type:varchar(500)"`                   // 备注
}

// TableName 设置模型对应的数据库表名
func (LogisticsCompany) TableName() string {
	return "logistics_companies"
}
